<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AUnit: /home/brian/src/AUnit/src/aunit/Test.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">AUnit
   &#160;<span id="projectnumber">1.7.1</span>
   </div>
   <div id="projectbrief">Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_81cd3825682eb05918933587e078c005.html">aunit</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">Test.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">MIT License</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">Copyright (c) 2018 Brian T. Park</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">of this software and associated documentation files (the &quot;Software&quot;), to deal</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">in the Software without restriction, including without limitation the rights</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">copies of the Software, and to permit persons to whom the Software is</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">furnished to do so, subject to the following conditions:</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">The above copyright notice and this permission notice shall be included in all</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">copies or substantial portions of the Software.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">SOFTWARE.</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">// Significant portions of the design and implementation of this file came from</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// https://github.com/mmurdoch/arduinounit/blob/master/src/ArduinoUnit.h</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef AUNIT_TEST_H</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define AUNIT_TEST_H</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;FCString.h&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;Verbosity.h&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">namespace </span>aunit {</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html">   43</a></span>&#160;<span class="keyword">class </span><a class="code" href="classaunit_1_1Test.html">Test</a> {</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <span class="keyword">public</span>:</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="comment">// The LifeCycle states are used by TestRunner to determine what a Test</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="comment">// should do. Unlike the assertion Status, the LfeCycle is mostly hidden</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="comment">// from client code. The state transition diagram looks like this:</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="comment">//        include()/exclude()</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="comment">//      .---------------------&gt; Excluded -----------.</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="comment">//      v                                           v</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="comment">//    New                                        Finished -&gt; (out of list)</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="comment">//      \ setup()      assertion()       teardown() ^</span></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="comment">//       -------&gt; Setup -------&gt; Asserted ----------&#39;</span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a2ae1646a3b0870eef61b2e091a35e80f">   57</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="classaunit_1_1Test.html#a2ae1646a3b0870eef61b2e091a35e80f">kLifeCycleNew</a> = 0;</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#ab42e3594cf594a6c8f787e27bc6f6cf3">   65</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="classaunit_1_1Test.html#ab42e3594cf594a6c8f787e27bc6f6cf3">kLifeCycleExcluded</a> = 1;</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a430e7f0f5d8d4eaf20903524c4aa1b18">   74</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="classaunit_1_1Test.html#a430e7f0f5d8d4eaf20903524c4aa1b18">kLifeCycleSetup</a> = 2;</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a946bd7ab3b12030491473edaf0d1bdd7">   80</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="classaunit_1_1Test.html#a946bd7ab3b12030491473edaf0d1bdd7">kLifeCycleAsserted</a> = 3;</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a4bef0403a5f8d3b6a985a7c4fed8915e">   88</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="classaunit_1_1Test.html#a4bef0403a5f8d3b6a985a7c4fed8915e">kLifeCycleFinished</a> = 4;</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="comment">// The assertion Status is the result of an &quot;assertion()&quot;. In addition to</span></div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="comment">// the usual pass() and fail(), there are meta-assertions such as skip()</span></div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="comment">// and expire(). When the Status is changed from kStatusUnknown, the</span></div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="comment">// lifeCycle state changes to kLifeCycleAsserted.</span></div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#aa08744b28aef31a646fa15512e7aaa5e">   96</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="classaunit_1_1Test.html#aa08744b28aef31a646fa15512e7aaa5e">kStatusUnknown</a> = 0;</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a5c8d37f2f2418a3223a972345c0d4263">   99</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="classaunit_1_1Test.html#a5c8d37f2f2418a3223a972345c0d4263">kStatusPassed</a> = 1;</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a47f8d53598baaedf210951e14caf25e3">  102</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="classaunit_1_1Test.html#a47f8d53598baaedf210951e14caf25e3">kStatusFailed</a> = 2;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#aa5053bd59bb037bc60c0df76ba5b5a32">  105</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="classaunit_1_1Test.html#aa5053bd59bb037bc60c0df76ba5b5a32">kStatusSkipped</a> = 3;</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a80a20f0e267db30cf06419272468eed6">  108</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> uint8_t <a class="code" href="classaunit_1_1Test.html#a80a20f0e267db30cf06419272468eed6">kStatusExpired</a> = 4;</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keyword">static</span> <a class="code" href="classaunit_1_1Test.html">Test</a>** <a class="code" href="classaunit_1_1Test.html#a33f9f14097b77edc19e8298022ecbe60">getRoot</a>();</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <a class="code" href="classaunit_1_1Test.html#a0550ff015d168b10c3c64540081fb19e">Test</a>();</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="comment">// NOTE: Don&#39;t create a virtual destructor. That&#39;s the normal best practice</span></div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="comment">// for classes that will be used polymorphically. However, this class will</span></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="comment">// never be deleted polymorphically (i.e. through its pointer) so it</span></div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="comment">// doesn&#39;t need a virtual destructor. In fact, adding it causes flash and</span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="comment">// static memory to increase dramatically because each test() and testing()</span></div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="comment">// macro creates a new subclass. AceButtonTest flash memory increases from</span></div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="comment">// 18928 to 20064 bytes, and static memory increases from 917 to 1055</span></div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="comment">// bytes.</span></div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#ad32752b60ecc4cab1149d38c2bb2da7c">  136</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#ad32752b60ecc4cab1149d38c2bb2da7c">setup</a>() {}</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a698169aed6abd479bd5daec7d1a283c4">  145</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#a698169aed6abd479bd5daec7d1a283c4">teardown</a>() {}</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a15a9b4bc1f4f3ab23a995bab0cd18276">  152</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#a15a9b4bc1f4f3ab23a995bab0cd18276">loop</a>() = 0;</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#ab7a08fd1e807b989b78d901f2d68ceb5">resolve</a>();</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#afc5f564a39de7fd5cef0819767656ab2">  158</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="classaunit_1_1internal_1_1FCString.html">internal::FCString</a>&amp; <a class="code" href="classaunit_1_1Test.html#afc5f564a39de7fd5cef0819767656ab2">getName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mName; }</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a451274cf4d90ca3a626cdb0781b71685">  161</a></span>&#160;    uint8_t <a class="code" href="classaunit_1_1Test.html#a451274cf4d90ca3a626cdb0781b71685">getLifeCycle</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLifeCycle; }</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keywordtype">void</span> setLifeCycle(uint8_t state) { mLifeCycle = state; }</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; </div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#aa709615a0c842dbd4df47744143eef5c">  166</a></span>&#160;    uint8_t <a class="code" href="classaunit_1_1Test.html#aa709615a0c842dbd4df47744143eef5c">getStatus</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mStatus; }</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a536f6579a8275e696c76a889dc8d83d5">  173</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#a536f6579a8275e696c76a889dc8d83d5">setStatus</a>(uint8_t status) {</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;      <span class="keywordflow">if</span> (status != <a class="code" href="classaunit_1_1Test.html#aa08744b28aef31a646fa15512e7aaa5e">kStatusUnknown</a>) {</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        setLifeCycle(<a class="code" href="classaunit_1_1Test.html#a946bd7ab3b12030491473edaf0d1bdd7">kLifeCycleAsserted</a>);</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;      }</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;      mStatus = status;</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    }</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160; </div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#aec33bdf4a8fd58669d36b233b5364929">setPassOrFail</a>(<span class="keywordtype">bool</span> ok);</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#ac166f92c4945d675b4e289db1bb7d217">  188</a></span>&#160;    <a class="code" href="classaunit_1_1Test.html">Test</a>** <a class="code" href="classaunit_1_1Test.html#ac166f92c4945d675b4e289db1bb7d217">getNext</a>() { <span class="keywordflow">return</span> &amp;mNext; }</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a07a87e1169ab443429962bc55dde88cc">  196</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classaunit_1_1Test.html#a07a87e1169ab443429962bc55dde88cc">isDone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mStatus != <a class="code" href="classaunit_1_1Test.html#aa08744b28aef31a646fa15512e7aaa5e">kStatusUnknown</a>; }</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a05359103570aad48e4efdb7f3bc4416f">  199</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classaunit_1_1Test.html#a05359103570aad48e4efdb7f3bc4416f">isNotDone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classaunit_1_1Test.html#a07a87e1169ab443429962bc55dde88cc">isDone</a>(); }</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160; </div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a250e09283ea4304cedaa9cc0029ee026">  202</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classaunit_1_1Test.html#a250e09283ea4304cedaa9cc0029ee026">isPassed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mStatus == <a class="code" href="classaunit_1_1Test.html#a5c8d37f2f2418a3223a972345c0d4263">kStatusPassed</a>; }</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160; </div>
<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a1797e5f99e8ed21d886f77ab9da8289f">  205</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classaunit_1_1Test.html#a1797e5f99e8ed21d886f77ab9da8289f">isNotPassed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classaunit_1_1Test.html#a250e09283ea4304cedaa9cc0029ee026">isPassed</a>(); }</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160; </div>
<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a5ca38d5223dfcc81f3e8c7a0917c383d">  208</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classaunit_1_1Test.html#a5ca38d5223dfcc81f3e8c7a0917c383d">isFailed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mStatus == <a class="code" href="classaunit_1_1Test.html#a47f8d53598baaedf210951e14caf25e3">kStatusFailed</a>; }</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160; </div>
<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a3976d88474bb9a7b75b16d9458d9a9cb">  211</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classaunit_1_1Test.html#a3976d88474bb9a7b75b16d9458d9a9cb">isNotFailed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classaunit_1_1Test.html#a5ca38d5223dfcc81f3e8c7a0917c383d">isFailed</a>(); }</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160; </div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a64a8e33b6498b0c2605c43472b6cbec6">  214</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classaunit_1_1Test.html#a64a8e33b6498b0c2605c43472b6cbec6">isSkipped</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mStatus == <a class="code" href="classaunit_1_1Test.html#aa5053bd59bb037bc60c0df76ba5b5a32">kStatusSkipped</a>; }</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160; </div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a9d5368f632ee74592813afc6f19ca46b">  217</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classaunit_1_1Test.html#a9d5368f632ee74592813afc6f19ca46b">isNotSkipped</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classaunit_1_1Test.html#a64a8e33b6498b0c2605c43472b6cbec6">isSkipped</a>(); }</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160; </div>
<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#af8f56d244a5a795bb7e1eb83844a0302">  220</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classaunit_1_1Test.html#af8f56d244a5a795bb7e1eb83844a0302">isExpired</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mStatus == <a class="code" href="classaunit_1_1Test.html#a80a20f0e267db30cf06419272468eed6">kStatusExpired</a>; }</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160; </div>
<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a4b58ed5f8cc54608d0a35a255aa27d97">  223</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classaunit_1_1Test.html#a4b58ed5f8cc54608d0a35a255aa27d97">isNotExpired</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classaunit_1_1Test.html#af8f56d244a5a795bb7e1eb83844a0302">isExpired</a>(); }</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160; </div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a8fcf67b6fdec7a1fa364b1b0b07ff1e5">  229</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#a8fcf67b6fdec7a1fa364b1b0b07ff1e5">skip</a>() { <a class="code" href="classaunit_1_1Test.html#a536f6579a8275e696c76a889dc8d83d5">setStatus</a>(<a class="code" href="classaunit_1_1Test.html#aa5053bd59bb037bc60c0df76ba5b5a32">kStatusSkipped</a>); }</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160; </div>
<div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#aab89c47bfa768b0dbf9eb18a777ac4bc">  235</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#aab89c47bfa768b0dbf9eb18a777ac4bc">expire</a>() { <a class="code" href="classaunit_1_1Test.html#a536f6579a8275e696c76a889dc8d83d5">setStatus</a>(<a class="code" href="classaunit_1_1Test.html#a80a20f0e267db30cf06419272468eed6">kStatusExpired</a>); }</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a3490d139e963b7308e8a201d430bdb8d">  238</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#a3490d139e963b7308e8a201d430bdb8d">enableVerbosity</a>(uint8_t verbosity) { mVerbosity |= verbosity; }</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160; </div>
<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#ac8089cf50292419b67da102d72d8bdcc">  241</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#ac8089cf50292419b67da102d72d8bdcc">disableVerbosity</a>(uint8_t verbosity) { mVerbosity &amp;= ~verbosity; }</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160; </div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a64023d7738f6ae94dcaeb4fc4c7ec8b3">  248</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#a64023d7738f6ae94dcaeb4fc4c7ec8b3">fail</a>() { <a class="code" href="classaunit_1_1Test.html#a536f6579a8275e696c76a889dc8d83d5">setStatus</a>(<a class="code" href="classaunit_1_1Test.html#a47f8d53598baaedf210951e14caf25e3">kStatusFailed</a>); }</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160; </div>
<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#ae71ded07fd6fc69413f64d3d603e4bd6">  256</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classaunit_1_1Test.html#ae71ded07fd6fc69413f64d3d603e4bd6">pass</a>() { <a class="code" href="classaunit_1_1Test.html#a536f6579a8275e696c76a889dc8d83d5">setStatus</a>(<a class="code" href="classaunit_1_1Test.html#a5c8d37f2f2418a3223a972345c0d4263">kStatusPassed</a>); }</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160; </div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keywordtype">void</span> init(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) {</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;      mName = <a class="code" href="classaunit_1_1internal_1_1FCString.html">internal::FCString</a>(name);</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;      mLifeCycle = <a class="code" href="classaunit_1_1Test.html#a2ae1646a3b0870eef61b2e091a35e80f">kLifeCycleNew</a>;</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;      mStatus = <a class="code" href="classaunit_1_1Test.html#aa08744b28aef31a646fa15512e7aaa5e">kStatusUnknown</a>;</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;      mVerbosity = 0;</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;      insert();</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    }</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160; </div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <span class="keywordtype">void</span> init(<span class="keyword">const</span> __FlashStringHelper* name) {</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;      mName = internal::FCString(name);</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;      mLifeCycle = <a class="code" href="classaunit_1_1Test.html#a2ae1646a3b0870eef61b2e091a35e80f">kLifeCycleNew</a>;</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;      mStatus = <a class="code" href="classaunit_1_1Test.html#aa08744b28aef31a646fa15512e7aaa5e">kStatusUnknown</a>;</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;      mVerbosity = 0;</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;      insert();</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    }</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160; </div>
<div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a48965aa2e166e680664ccd5b5109f4a3">  275</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classaunit_1_1Test.html#a48965aa2e166e680664ccd5b5109f4a3">isVerbosity</a>(uint8_t verbosity)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mVerbosity &amp; verbosity; }</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160; </div>
<div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="classaunit_1_1Test.html#a86b8d967069abc8652ffa2f3d4ce8a5f">  278</a></span>&#160;    uint8_t <a class="code" href="classaunit_1_1Test.html#a86b8d967069abc8652ffa2f3d4ce8a5f">getVerbosity</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mVerbosity; }</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160; </div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <span class="keyword">private</span>:</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="comment">// Disable copy-constructor and assignment operator</span></div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <a class="code" href="classaunit_1_1Test.html#a0550ff015d168b10c3c64540081fb19e">Test</a>(<span class="keyword">const</span> <a class="code" href="classaunit_1_1Test.html">Test</a>&amp;) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <a class="code" href="classaunit_1_1Test.html">Test</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classaunit_1_1Test.html">Test</a>&amp;) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160; </div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="keywordtype">void</span> insert();</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <a class="code" href="classaunit_1_1internal_1_1FCString.html">internal::FCString</a> mName;</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    uint8_t mLifeCycle;</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    uint8_t mStatus;</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    uint8_t mVerbosity;</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <a class="code" href="classaunit_1_1Test.html">Test</a>* mNext;</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;};</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160; </div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;}</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160; </div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclassaunit_1_1Test_html"><div class="ttname"><a href="classaunit_1_1Test.html">aunit::Test</a></div><div class="ttdoc">Base class of all test cases.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00043">Test.h:43</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a05359103570aad48e4efdb7f3bc4416f"><div class="ttname"><a href="classaunit_1_1Test.html#a05359103570aad48e4efdb7f3bc4416f">aunit::Test::isNotDone</a></div><div class="ttdeci">bool isNotDone() const</div><div class="ttdoc">Return true if test is not has been asserted.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00199">Test.h:199</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a0550ff015d168b10c3c64540081fb19e"><div class="ttname"><a href="classaunit_1_1Test.html#a0550ff015d168b10c3c64540081fb19e">aunit::Test::Test</a></div><div class="ttdeci">Test()</div><div class="ttdoc">Empty constructor.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8cpp_source.html#l00041">Test.cpp:41</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a07a87e1169ab443429962bc55dde88cc"><div class="ttname"><a href="classaunit_1_1Test.html#a07a87e1169ab443429962bc55dde88cc">aunit::Test::isDone</a></div><div class="ttdeci">bool isDone() const</div><div class="ttdoc">Return true if test has been asserted.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00196">Test.h:196</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a15a9b4bc1f4f3ab23a995bab0cd18276"><div class="ttname"><a href="classaunit_1_1Test.html#a15a9b4bc1f4f3ab23a995bab0cd18276">aunit::Test::loop</a></div><div class="ttdeci">virtual void loop()=0</div><div class="ttdoc">The user-provided test case function.</div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a1797e5f99e8ed21d886f77ab9da8289f"><div class="ttname"><a href="classaunit_1_1Test.html#a1797e5f99e8ed21d886f77ab9da8289f">aunit::Test::isNotPassed</a></div><div class="ttdeci">bool isNotPassed() const</div><div class="ttdoc">Return true if test is not passed.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00205">Test.h:205</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a250e09283ea4304cedaa9cc0029ee026"><div class="ttname"><a href="classaunit_1_1Test.html#a250e09283ea4304cedaa9cc0029ee026">aunit::Test::isPassed</a></div><div class="ttdeci">bool isPassed() const</div><div class="ttdoc">Return true if test is passed.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00202">Test.h:202</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a2ae1646a3b0870eef61b2e091a35e80f"><div class="ttname"><a href="classaunit_1_1Test.html#a2ae1646a3b0870eef61b2e091a35e80f">aunit::Test::kLifeCycleNew</a></div><div class="ttdeci">static const uint8_t kLifeCycleNew</div><div class="ttdoc">Test is new, needs to be setup.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00057">Test.h:57</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a33f9f14097b77edc19e8298022ecbe60"><div class="ttname"><a href="classaunit_1_1Test.html#a33f9f14097b77edc19e8298022ecbe60">aunit::Test::getRoot</a></div><div class="ttdeci">static Test ** getRoot()</div><div class="ttdoc">Get the pointer to the root pointer.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8cpp_source.html#l00036">Test.cpp:36</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a3490d139e963b7308e8a201d430bdb8d"><div class="ttname"><a href="classaunit_1_1Test.html#a3490d139e963b7308e8a201d430bdb8d">aunit::Test::enableVerbosity</a></div><div class="ttdeci">void enableVerbosity(uint8_t verbosity)</div><div class="ttdoc">Enable the given verbosity of the current test.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00238">Test.h:238</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a3976d88474bb9a7b75b16d9458d9a9cb"><div class="ttname"><a href="classaunit_1_1Test.html#a3976d88474bb9a7b75b16d9458d9a9cb">aunit::Test::isNotFailed</a></div><div class="ttdeci">bool isNotFailed() const</div><div class="ttdoc">Return true if test is not failed.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00211">Test.h:211</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a430e7f0f5d8d4eaf20903524c4aa1b18"><div class="ttname"><a href="classaunit_1_1Test.html#a430e7f0f5d8d4eaf20903524c4aa1b18">aunit::Test::kLifeCycleSetup</a></div><div class="ttdeci">static const uint8_t kLifeCycleSetup</div><div class="ttdoc">Test has been set up by calling setup() and ready to execute the test code.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00074">Test.h:74</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a451274cf4d90ca3a626cdb0781b71685"><div class="ttname"><a href="classaunit_1_1Test.html#a451274cf4d90ca3a626cdb0781b71685">aunit::Test::getLifeCycle</a></div><div class="ttdeci">uint8_t getLifeCycle() const</div><div class="ttdoc">Get the life cycle state of the test.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00161">Test.h:161</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a47f8d53598baaedf210951e14caf25e3"><div class="ttname"><a href="classaunit_1_1Test.html#a47f8d53598baaedf210951e14caf25e3">aunit::Test::kStatusFailed</a></div><div class="ttdeci">static const uint8_t kStatusFailed</div><div class="ttdoc">Test has failed, or fail() was called.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00102">Test.h:102</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a48965aa2e166e680664ccd5b5109f4a3"><div class="ttname"><a href="classaunit_1_1Test.html#a48965aa2e166e680664ccd5b5109f4a3">aunit::Test::isVerbosity</a></div><div class="ttdeci">bool isVerbosity(uint8_t verbosity) const</div><div class="ttdoc">Determine if any of the given verbosity is enabled.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00275">Test.h:275</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a4b58ed5f8cc54608d0a35a255aa27d97"><div class="ttname"><a href="classaunit_1_1Test.html#a4b58ed5f8cc54608d0a35a255aa27d97">aunit::Test::isNotExpired</a></div><div class="ttdeci">bool isNotExpired() const</div><div class="ttdoc">Return true if test is not expired.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00223">Test.h:223</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a4bef0403a5f8d3b6a985a7c4fed8915e"><div class="ttname"><a href="classaunit_1_1Test.html#a4bef0403a5f8d3b6a985a7c4fed8915e">aunit::Test::kLifeCycleFinished</a></div><div class="ttdeci">static const uint8_t kLifeCycleFinished</div><div class="ttdoc">The test has completed its life cycle.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00088">Test.h:88</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a536f6579a8275e696c76a889dc8d83d5"><div class="ttname"><a href="classaunit_1_1Test.html#a536f6579a8275e696c76a889dc8d83d5">aunit::Test::setStatus</a></div><div class="ttdeci">void setStatus(uint8_t status)</div><div class="ttdoc">Set the status of the test.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00173">Test.h:173</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a5c8d37f2f2418a3223a972345c0d4263"><div class="ttname"><a href="classaunit_1_1Test.html#a5c8d37f2f2418a3223a972345c0d4263">aunit::Test::kStatusPassed</a></div><div class="ttdeci">static const uint8_t kStatusPassed</div><div class="ttdoc">Test has passed, or pass() was called.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00099">Test.h:99</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a5ca38d5223dfcc81f3e8c7a0917c383d"><div class="ttname"><a href="classaunit_1_1Test.html#a5ca38d5223dfcc81f3e8c7a0917c383d">aunit::Test::isFailed</a></div><div class="ttdeci">bool isFailed() const</div><div class="ttdoc">Return true if test is failed.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00208">Test.h:208</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a64023d7738f6ae94dcaeb4fc4c7ec8b3"><div class="ttname"><a href="classaunit_1_1Test.html#a64023d7738f6ae94dcaeb4fc4c7ec8b3">aunit::Test::fail</a></div><div class="ttdeci">void fail()</div><div class="ttdoc">Mark the test as failed.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00248">Test.h:248</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a64a8e33b6498b0c2605c43472b6cbec6"><div class="ttname"><a href="classaunit_1_1Test.html#a64a8e33b6498b0c2605c43472b6cbec6">aunit::Test::isSkipped</a></div><div class="ttdeci">bool isSkipped() const</div><div class="ttdoc">Return true if test is skipped.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00214">Test.h:214</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a698169aed6abd479bd5daec7d1a283c4"><div class="ttname"><a href="classaunit_1_1Test.html#a698169aed6abd479bd5daec7d1a283c4">aunit::Test::teardown</a></div><div class="ttdeci">virtual void teardown()</div><div class="ttdoc">Optional method that performs any clean up after the test ends for any reasons, either passing or oth...</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00145">Test.h:145</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a80a20f0e267db30cf06419272468eed6"><div class="ttname"><a href="classaunit_1_1Test.html#a80a20f0e267db30cf06419272468eed6">aunit::Test::kStatusExpired</a></div><div class="ttdeci">static const uint8_t kStatusExpired</div><div class="ttdoc">Test has timed out, or expire() called.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00108">Test.h:108</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a86b8d967069abc8652ffa2f3d4ce8a5f"><div class="ttname"><a href="classaunit_1_1Test.html#a86b8d967069abc8652ffa2f3d4ce8a5f">aunit::Test::getVerbosity</a></div><div class="ttdeci">uint8_t getVerbosity() const</div><div class="ttdoc">Get the verbosity.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00278">Test.h:278</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a8fcf67b6fdec7a1fa364b1b0b07ff1e5"><div class="ttname"><a href="classaunit_1_1Test.html#a8fcf67b6fdec7a1fa364b1b0b07ff1e5">aunit::Test::skip</a></div><div class="ttdeci">void skip()</div><div class="ttdoc">Mark the test as skipped.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00229">Test.h:229</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a946bd7ab3b12030491473edaf0d1bdd7"><div class="ttname"><a href="classaunit_1_1Test.html#a946bd7ab3b12030491473edaf0d1bdd7">aunit::Test::kLifeCycleAsserted</a></div><div class="ttdeci">static const uint8_t kLifeCycleAsserted</div><div class="ttdoc">Test is asserted (using pass(), fail(), expired() or skipped()) and the getStatus() has been determin...</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00080">Test.h:80</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_a9d5368f632ee74592813afc6f19ca46b"><div class="ttname"><a href="classaunit_1_1Test.html#a9d5368f632ee74592813afc6f19ca46b">aunit::Test::isNotSkipped</a></div><div class="ttdeci">bool isNotSkipped() const</div><div class="ttdoc">Return true if test is not skipped.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00217">Test.h:217</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_aa08744b28aef31a646fa15512e7aaa5e"><div class="ttname"><a href="classaunit_1_1Test.html#aa08744b28aef31a646fa15512e7aaa5e">aunit::Test::kStatusUnknown</a></div><div class="ttdeci">static const uint8_t kStatusUnknown</div><div class="ttdoc">Test status is unknown.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00096">Test.h:96</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_aa5053bd59bb037bc60c0df76ba5b5a32"><div class="ttname"><a href="classaunit_1_1Test.html#aa5053bd59bb037bc60c0df76ba5b5a32">aunit::Test::kStatusSkipped</a></div><div class="ttdeci">static const uint8_t kStatusSkipped</div><div class="ttdoc">Test is skipped through the exclude() method or skip() was called.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00105">Test.h:105</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_aa709615a0c842dbd4df47744143eef5c"><div class="ttname"><a href="classaunit_1_1Test.html#aa709615a0c842dbd4df47744143eef5c">aunit::Test::getStatus</a></div><div class="ttdeci">uint8_t getStatus() const</div><div class="ttdoc">Get the status of the test.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00166">Test.h:166</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_aab89c47bfa768b0dbf9eb18a777ac4bc"><div class="ttname"><a href="classaunit_1_1Test.html#aab89c47bfa768b0dbf9eb18a777ac4bc">aunit::Test::expire</a></div><div class="ttdeci">void expire()</div><div class="ttdoc">Mark the test as expired (i.e.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00235">Test.h:235</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_ab42e3594cf594a6c8f787e27bc6f6cf3"><div class="ttname"><a href="classaunit_1_1Test.html#ab42e3594cf594a6c8f787e27bc6f6cf3">aunit::Test::kLifeCycleExcluded</a></div><div class="ttdeci">static const uint8_t kLifeCycleExcluded</div><div class="ttdoc">Test is Excluded by an exclude() method.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00065">Test.h:65</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_ab7a08fd1e807b989b78d901f2d68ceb5"><div class="ttname"><a href="classaunit_1_1Test.html#ab7a08fd1e807b989b78d901f2d68ceb5">aunit::Test::resolve</a></div><div class="ttdeci">void resolve()</div><div class="ttdoc">Print out the summary of the current test.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8cpp_source.html#l00073">Test.cpp:73</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_ac166f92c4945d675b4e289db1bb7d217"><div class="ttname"><a href="classaunit_1_1Test.html#ac166f92c4945d675b4e289db1bb7d217">aunit::Test::getNext</a></div><div class="ttdeci">Test ** getNext()</div><div class="ttdoc">Return the next pointer as a pointer to the pointer, similar to getRoot().</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00188">Test.h:188</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_ac8089cf50292419b67da102d72d8bdcc"><div class="ttname"><a href="classaunit_1_1Test.html#ac8089cf50292419b67da102d72d8bdcc">aunit::Test::disableVerbosity</a></div><div class="ttdeci">void disableVerbosity(uint8_t verbosity)</div><div class="ttdoc">Disable the given verbosity of the current test.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00241">Test.h:241</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_ad32752b60ecc4cab1149d38c2bb2da7c"><div class="ttname"><a href="classaunit_1_1Test.html#ad32752b60ecc4cab1149d38c2bb2da7c">aunit::Test::setup</a></div><div class="ttdeci">virtual void setup()</div><div class="ttdoc">Optional method that performs any initialization.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00136">Test.h:136</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_ae71ded07fd6fc69413f64d3d603e4bd6"><div class="ttname"><a href="classaunit_1_1Test.html#ae71ded07fd6fc69413f64d3d603e4bd6">aunit::Test::pass</a></div><div class="ttdeci">void pass()</div><div class="ttdoc">Mark the test as passed.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00256">Test.h:256</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_aec33bdf4a8fd58669d36b233b5364929"><div class="ttname"><a href="classaunit_1_1Test.html#aec33bdf4a8fd58669d36b233b5364929">aunit::Test::setPassOrFail</a></div><div class="ttdeci">void setPassOrFail(bool ok)</div><div class="ttdoc">Set the status to Passed or Failed depending on ok.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8cpp_source.html#l00050">Test.cpp:50</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_af8f56d244a5a795bb7e1eb83844a0302"><div class="ttname"><a href="classaunit_1_1Test.html#af8f56d244a5a795bb7e1eb83844a0302">aunit::Test::isExpired</a></div><div class="ttdeci">bool isExpired() const</div><div class="ttdoc">Return true if test is expired.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00220">Test.h:220</a></div></div>
<div class="ttc" id="aclassaunit_1_1Test_html_afc5f564a39de7fd5cef0819767656ab2"><div class="ttname"><a href="classaunit_1_1Test.html#afc5f564a39de7fd5cef0819767656ab2">aunit::Test::getName</a></div><div class="ttdeci">const internal::FCString &amp; getName() const</div><div class="ttdoc">Get the name of the test.</div><div class="ttdef"><b>Definition:</b> <a href="Test_8h_source.html#l00158">Test.h:158</a></div></div>
<div class="ttc" id="aclassaunit_1_1internal_1_1FCString_html"><div class="ttname"><a href="classaunit_1_1internal_1_1FCString.html">aunit::internal::FCString</a></div><div class="ttdoc">A union of (const char*) and (const __FlashStringHelper*) with a discriminator.</div><div class="ttdef"><b>Definition:</b> <a href="FCString_8h_source.html#l00058">FCString.h:58</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
